package com;

import java.lang.reflect.Field;

public class Test {
	public static void main(String[] args)
			throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
		String str = "ab";

		// 获取指定的 value 变量,因为字符串都保存在这个数组中
		Field f = String.class.getDeclaredField("value");
		// 由于 value 是私有化属性,我们不能直接操作,所以可以打破封装,可以私有化操作
		f.setAccessible(true);
		// 获取 value 值
		Object o = f.get(str);
		char[] value = (char[]) o;

		value[0] = '1';
		f.set(str, new char[] { '你', '好' });
		System.out.println(str);
	}
}
